package oo;
import java.util.*;


public class Root {
	public int m;
	public double p; ///工资
//菜单操作
    public static void main(String[] args) {
        int count = 1;
        int redFlag = 1;
        Stu a[] = new Stu[1];
        a[0] = new Stu("84G0235", "小雅", "女", 18, 80, 90);
 
        Scanner scan = new Scanner(System.in);
        Root test = new Root();
        while (redFlag == 1) {
            test.putMenu();
            int data0 = scan.nextInt();
            switch (data0) {
            case 0:
                redFlag = 0;
                break;
            case 1:
                test.putAllStu(a, count);
                break;
            case 2:
                a = test.inPutStu(a, count,scan);
                count++;
 
                // 如果数组中已实例化元素个数等于a的长度，扩容
                break;
            case 3:
                test.selectStu(a, count, scan);
                break;
            
           
            }
 
        }
 
    }//菜单操作
 
 // 菜单索引
    void putMenu() {
        System.out.println("欢迎使用勤工俭学系统");
        System.out.println("请输入你所要操作的项目标号");
        System.out.println("1.显示所有勤工俭学学生信息");
        System.out.println("2.录入勤工俭学学生卫生绩效");
        System.out.println("3.输出勤工俭学学生信息及绩效奖金");
        System.out.println("0.退出系统");
    }// 菜单索引
    
 // 显示所有学生信息。
    Stu[] putAllStu(Stu a[], int count) {
        for (int i = 0; i < count; i++) {
            System.out.print(i + 1 + ":");
            System.out.print("学号：" + a[i].getStuNum());
            System.out.print(" 姓名：" + a[i].getName());
            System.out.print(" 性别：" + a[i].getGender());
            System.out.print(" 年龄：" + a[i].getAge());
//            System.out.println(" 绩效A：" + a[i].getMarkone());
  //          System.out.println(" 绩效B：" + a[i].getMarktwo());
        }
        return a;
 
    }// 显示所有学生信息。
    
 // 录入学生信息。
    Stu[] inPutStu(Stu a[], int count,Scanner scan) {
        if (count == a.length) {
            a = Root.newArray(a);
        }
       
        System.out.println("请输入录入学生学号：");
        String newStuNum = scan.next().trim();
        //此处添加一个验证学号是否重复
 
        System.out.println("请输入录入学生姓名：");
        String newName = scan.next().trim();
 
        System.out.println("请输入录入学生性别：");
        String newGender = scan.next().trim();
        while (true) {
            if (newGender.equals("男") || newGender.equals("女")) {
                break;
            } else {
                System.out.println("输入有误，重新输入");
                newGender = scan.next();
            }
 
        }
 
        System.out.println("请输入录入学生年龄：");
        int newAge = scan.nextInt();
        Mark grade[]=new Mark [3];
        for(m=0;m<3;m++) {
        grade[m] = new Mark();
      }
        
    	System.out.println("请输入学生的卫生绩效");
    	System.out.print("计分规则按照十分制计算，一分对应50元");
    	for(m=1;m<3;m++) {
    			System.out.println("请输入第"+m+"周"+"第1次卫生绩效");
    			grade[m].markone =scan.nextInt();
    			System.out.println("请输入第"+m+"周"+"第2次卫生绩效");
    			grade[m].marktwo =scan.nextInt();
    	} 	

        a[count] = new Stu(newStuNum, newName, newGender, newAge, grade);
 
        return a;
    }// 录入学生信息。
    
 // 查找学生信息。
    void selectStu(Stu a[], int count ,Scanner scan) {        
        System.out.println("请输入要查找的学生学号：");
        String stuNum = scan.next().trim();
        for (int i = 0; i < count; i++) {
            if (a[i].getStuNum().equals(stuNum)) {
                System.out.print("学号：" + a[i].getStuNum());
                System.out.print(" 姓名：" + a[i].getName());
                System.out.print(" 性别：" + a[i].getGender());
                System.out.print(" 年龄：" + a[i].getAge());
                
 				for (int m = 1;m < 3;m++){
              System.out.println("请输入第"+m+"周一号实验室卫生绩效:" + a[i].grade[m].markone);
              System.out.println("请输入第"+m+"周二号实验室卫生绩效:" + a[i].grade[m].marktwo);
              
               }
 				for(m=0;m<3;m++) {
 					p=(a[i].grade[m].markone + a[i].grade[m].marktwo)*100;
 				}
 				System.out.println("则学生卫生奖金为"+p);
             return ;    
           }
        }
        System.out.println("查无此人");
        return ;
    }// 查找学生信息。
 
    static Stu[] newArray(Stu a[]) {
        Stu[] newArray = new Stu[a.length + a.length];
        for (int i = 0; i < a.length; i++)
            newArray[i] = a[i];
        return newArray;
    }
}// 数组扩容
 
 
